/*
 * ProteicAlphabetPerl.cpp
 *
 *  Created on: 2011-09-05
 *      Author: pawel
 */
#include"ProteicAlphabetPerl.h"
//#include<Bpp/Seq.all>
using namespace bpp;
ProteicAlphabetPerl::ProteicAlphabetPerl(){
	// Alphabet size definition
	resize(29);

	// Alphabet content definition
  setState( 0, ProteicAlphabetState(-1, "-", "GAP", "Gap"));
  setState( 1, ProteicAlphabetState( 0, "A", "ALA", "Alanine"));
  setState( 2, ProteicAlphabetState( 1, "R", "ARG", "Arginine"));
  setState( 3, ProteicAlphabetState( 2, "N", "ASN", "Asparagine"));
  setState( 4, ProteicAlphabetState( 3, "D", "ASP", "Asparatic Acid"));
  setState( 5, ProteicAlphabetState( 4, "C", "CYS", "Cysteine"));
  setState( 6, ProteicAlphabetState( 5, "Q", "GLN", "Glutamine"));
  setState( 7, ProteicAlphabetState( 6, "E", "GLU", "Glutamic acid"));
  setState( 8, ProteicAlphabetState( 7, "G", "GLY", "Glycine"));
  setState( 9, ProteicAlphabetState( 8, "H", "HIS", "Histidine"));
  setState(10, ProteicAlphabetState( 9, "I", "ILE", "Isoleucine"));
  setState(11, ProteicAlphabetState(10, "L", "LEU", "Leucine"));
  setState(12, ProteicAlphabetState(11, "K", "LYS", "Lysine"));
  setState(13, ProteicAlphabetState(12, "M", "MET", "Methionine"));
  setState(14, ProteicAlphabetState(13, "F", "PHE", "Phenylalanine"));
  setState(15, ProteicAlphabetState(14, "P", "PRO", "Proline"));
  setState(16, ProteicAlphabetState(15, "S", "SER", "Serine"));
  setState(17, ProteicAlphabetState(16, "T", "THR", "Threonine"));
  setState(18, ProteicAlphabetState(17, "W", "TRP", "Tryptophan"));
  setState(19, ProteicAlphabetState(18, "Y", "TYR", "Tyrosine"));
  setState(20, ProteicAlphabetState(19, "V", "VAL", "Valine"));
  setState(21, ProteicAlphabetState(20, "B", "B", "N or D"));
  setState(22, ProteicAlphabetState(21, "Z", "Z", "Q or E"));
  setState(23, ProteicAlphabetState(22, "X", "X", "Unresolved amino acid"));
  setState(24, ProteicAlphabetState(23, "O", "O", "Unresolved amino acid"));
  setState(25, ProteicAlphabetState(23, "0", "0", "Unresolved amino acid"));
  setState(26, ProteicAlphabetState(23, "?", "?", "Unresolved amino acid"));
  setState(27, ProteicAlphabetState(23, "U", "U", "Unresolved amino acid"));
  setState(28, ProteicAlphabetState(23, "*", "*", "Unresolved amino acid"));
}

